Skip to content

Conversation

@lucbv
Copy link
Contributor

@lucbv lucbv commented Nov 12, 2025

Taking over PR #2205 rebasing on the current state of develop and re-running tests, will also have a look at the unit-tests and might add more checks.

@lucbv lucbv requested review from jgfouca and vqd8a November 12, 2025 23:02
@lucbv lucbv self-assigned this Nov 12, 2025
@lucbv lucbv added the AT2-CI-APPROVAL Approve CI to run at SNL label Nov 13, 2025
Copy link
Contributor

@jgfouca jgfouca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just a few minor things.

The wrappers will allow use of LAPACK, cusolver, rocsolver and
magma

Signed-off-by: Luc-Berger Vergiat <[email protected]>
@lucbv lucbv marked this pull request as ready for review January 28, 2026 02:25
@lucbv lucbv requested a review from jgfouca January 28, 2026 02:25
@lucbv
Copy link
Contributor Author

lucbv commented Jan 28, 2026

@jgfouca @vqd8a this is ready for review now : )

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a new interface for the LAPACK geqrf function (QR factorization) to KokkosKernels, taking over from PR #2205. The implementation provides TPL wrappers for LAPACK (host), CUSOLVER (CUDA), and ROCSOLVER (HIP), with comprehensive unit tests and documentation.

Changes:

  • Added KokkosLapack::geqrf interface for QR factorization with support for multiple backends (LAPACK, CUSOLVER, ROCSOLVER)
  • Implemented TPL wrappers for host LAPACK, CUDA CUSOLVER, and HIP ROCSOLVER
  • Added comprehensive unit tests covering various matrix sizes, data types (float, double, complex), and validation of Q, R matrices

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
lapack/src/KokkosLapack_geqrf.hpp Main public interface for geqrf with parameter validation
lapack/impl/KokkosLapack_geqrf_spec.hpp Template specialization declarations with ETI support
lapack/impl/KokkosLapack_geqrf_impl.hpp Implementation file (placeholder for future native implementation)
lapack/tpls/KokkosLapack_geqrf_tpl_spec_decl.hpp TPL wrapper implementations for LAPACK, CUSOLVER, ROCSOLVER
lapack/tpls/KokkosLapack_geqrf_tpl_spec_avail.hpp TPL availability declarations
lapack/tpls/KokkosLapack_Host_tpl.hpp Added geqrf function declaration to HostLapack template
lapack/tpls/KokkosLapack_Host_tpl.cpp Implemented LAPACK geqrf wrappers for float, double, complex types
lapack/unit_test/Test_Lapack_geqrf.hpp Comprehensive unit tests validating QR factorization correctness
lapack/unit_test/Test_Lapack.hpp Added include for geqrf tests
lapack/CMakeLists.txt Added ETI generation for geqrf
lapack/eti/generated_specializations_hpp/KokkosLapack_geqrf_eti_spec_*.hpp.in ETI template files
lapack/eti/generated_specializations_cpp/geqrf/KokkosLapack_geqrf_eti_spec_inst.cpp.in ETI instantiation template
docs/source/API/lapack/geqrf.rst API documentation for geqrf function
docs/source/API/lapack-index.rst Added geqrf to documentation index
scripts/check_api_updates.py Added geqrf to API checker

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jgfouca
Copy link
Contributor

jgfouca commented Jan 28, 2026

@lucbv , I've had some good results with co-pilot reviews on my other projects, so I asked for one here.

@lucbv
Copy link
Contributor Author

lucbv commented Jan 29, 2026

@jgfouca sure, that's not a bad idea and we anyway have to wait for CI to get back online before moving ahead with this so we have time to fix the issues it detected.

@lucbv
Copy link
Contributor Author

lucbv commented Jan 29, 2026

Okay, co-pilot pointed some interesting things, I think I got it all squared away.

Also simplifying some memory space specification, there might still
be an issue with a View constructor though...

Signed-off-by: Luc Berger-Vergiat <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AT2-CI-APPROVAL Approve CI to run at SNL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants